const rootUrl='https://m.zxgyzj.com/';
// const rootUrl = "http://gyzj_frontend.com/";  
// const rootUrl='https://test.gyzj.anlingxinxi.com/';
class HTTP{
	constructor() {
		console.log('request的构造方法');
	}
	request({
		url,
		data={},
		method='GET',
		customize=false,
	}){
		return new Promise((resolve,reject)=>{
			this._request(url,resolve,reject,data,method,customize);
		});
	}
	_request(url,resolve,reject,data={},method='GET',customize){
		uni.showLoading({
			title:'加载中....'
		});
		uni.request({
			url: rootUrl+url,
			method,
			data,
			success: res => {
				console.log('request的请求成功a',res);
				this._success_logic(res,resolve,reject,false,customize);
			},
			fail: (error) => {
				console.log('app执行了报错',error);
			},
			complete: (error) => {
				console.log('app执行了回调a',error);
			}
		});
		uni.hideLoading();
	}
	_show_error(msg='出现了一个错误'){
		uni.hideLoading();
		uni.showModal({
			content: msg,
			showCancel: false
		})
	}
	_success_logic(res,resolve,reject,parseFlag,customize){
		const code=res.statusCode.toString();
		console.log(code.startsWith('2'));
		if(code.startsWith('2')){
			//根据服务器返回的code进行resolve,reject操作
			parseFlag?res.data=JSON.parse(res.data):'';
			if(customize){
				resolve(res);
				return;
			}
			if(res.data.code===1){
				resolve(res.data);
			}else{
				/*统一执行这个报错，其他走default方法,case 1就行*/
				reject();
				this._show_error(res.data.message);
			}
			// else if(typeof res.data.code=='number'&& !isNaN(res.data.code)){
			// 	resolve(res.data);
			// }
		}else{
			// if(res.data.code===0&&res.data.status=401){
			// 	reject();
			// 	this._show_error('网络错误,请刷新页面');
			// }else{
				reject();
				this._show_error(res.data.message);
			// }
		}
	}
}
export{
	HTTP
};